package org.dromara.datacheck.mytest;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

class JstOtherOutEnterWarhouseOrder {
    private String billDate;

    public JstOtherOutEnterWarhouseOrder(String billDate) {
        this.billDate = billDate;
    }

    public String getBillDate() {
        return billDate;
    }
}

public class Main {
    public static void main(String[] args) {
        // 示例数据
        List<JstOtherOutEnterWarhouseOrder> jstOtherOutEnterWarhouseOrderList = new ArrayList<>();
        jstOtherOutEnterWarhouseOrderList.add(new JstOtherOutEnterWarhouseOrder("2024/7/3 19:17:17"));
        jstOtherOutEnterWarhouseOrderList.add(new JstOtherOutEnterWarhouseOrder("2024/7/3 19:17:17"));
        jstOtherOutEnterWarhouseOrderList.add(new JstOtherOutEnterWarhouseOrder("2024/7/4 19:17:17"));

        // 获取去重后的日期列表，并转换格式
        Set<String> formattedDateSet = jstOtherOutEnterWarhouseOrderList.stream()
            .map(JstOtherOutEnterWarhouseOrder::getBillDate) // 提取日期字符串
            .map(Main::formatDateString) // 格式化日期字符串
            .collect(Collectors.toSet()); // 使用 Set 去重

        List<String> formattedDateList = new ArrayList<>(formattedDateSet); // 转换为 List

        // 打印结果
        System.out.println(formattedDateList);
    }

    // 辅助方法：格式化日期字符串
    public static String formatDateString(String dateStr) {
        // 分割日期字符串
        String[] parts = dateStr.split(" ")[0].split("/");

        // 构造新的日期字符串
        return parts[0] + "年" + parts[1] + "月" + parts[2] + "日";
    }
}
